上次測試完DHT22可以使用後,接下來就要將數值輸出
利用他們的範例程式可以看到利用#define DHTPIN 去定義他們腳位和 #define DHTTYPE 去告訴函式庫我們使用的是 DHT11 或是 DHT22
知道這些資訊後我們就能來撰寫我們需要的程式了
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float humid = dht.readHumidity();
float temp = dht.readTemperature();
if (isnan(humid) || isnan(temp)){
return;
}
Serial.print("{");
Serial.print("\"temp\":");
Serial.print(temp);
Serial.print(",");
Serial.print("\"humid\":");
Serial.print(humid);
Serial.print("}");
Serial.println();
delay(1000);
}
從上面的程式可以看到我們腳位跟型號暫時不用變,但是修改掉輸出的格式與部分資料
因台灣不使用華氏溫度因此不需要他們提供給我們的F數值,而輸出的部分改成我們須要的JSON格式
幫助我們將資料放進資料庫時比較方便,當然也可以不做修改利用python做處理(這點在介紹python時會順便介紹)
順便看一下輸出結果:
從輸出結果可以看到我們成功將讀取到的數值轉換成我們需要的格式
因為我們目前都是靠arduino IDE負責幫我們接收數值,因此下次要介紹python的部分與下載python需要的套件以幫助我們接收arduino回傳的資訊.